﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Modulo.Seguridad.Base
{
    public partial class WFPerfilesxOpcion : TDV.Controles.Base.WinForm.BaseForm_Tipo01
    {
        private LBPerfilxAcceso OpcionModificada = new LBPerfilxAcceso();
        private string CodigoPerfil = "";
        private bool guardo = false;
        public WFPerfilesxOpcion(string Codigo)
        {
            CodigoPerfil = Codigo;
            InitializeComponent();
        }
        protected void Cargar()
        {
            LBPerfilxAcceso perf = new LBPerfilxAcceso();
            perf.Filtros.CodigoPerfil = CodigoPerfil;
            perf.Filtros.Opcion = "QRY02";
            perf.Buscar();
            GrdFormularios.DataSource = perf;
            TsMensajeBarra.Text = string.Format("Se encontraron ({0}) registro(s)", GrdFormularios.Rows.Count);
        }
        private void BtnSalir_Click(object sender, EventArgs e)
        {
            if (guardo == true)
            {
                DialogResult = DialogResult.OK;
            }
            else
            {
                DialogResult = DialogResult.Cancel;
            }
        }

        private void WFPerfilesxOpcion_Load(object sender, EventArgs e)
        {
            Cargar();
        }

        private void GrdOpcion_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex > -1)
            {
                if (GrdFormularios.Columns[e.ColumnIndex].Name == "cSel")
                {
                    EBPerfilxAcceso perf = (EBPerfilxAcceso)GrdFormularios.CurrentRow.DataBoundItem;
                    if (perf.Chk == "0")
                    { perf.Eliminar(); }
                    else
                    { perf.Grabar(); }
                    guardo = true;
                }

                if (GrdFormularios.Columns[e.ColumnIndex].Name == "cLectura")
                {
                    EBPerfilxAcceso per = (EBPerfilxAcceso)GrdFormularios.CurrentRow.DataBoundItem;
                    per.Grabar();
                }
            }
        }

        private void GrdFormularios_CurrentCellDirtyStateChanged(object sender, EventArgs e)
        {
            if (GrdFormularios.IsCurrentCellDirty)
            {
                GrdFormularios.CommitEdit(DataGridViewDataErrorContexts.Commit);
            }
        }
    }
}
